<?php
App::uses('Controller', 'Controller');
App::uses('CakeRequest', 'Network');
App::uses('CakeResponse', 'Network');
App::uses('ComponentCollection', 'Controller');
App::uses('VotacaoComponent', 'Controller/Component');

// A fake controller to test against
class TestVotacaoController extends Controller {
    
}

// TODO Colocar teste com os outros pools 
class VotacaoComponentTest extends CakeTestCase {
    public $VotacaoComponent = null;
    public $Controller = null;
    public $fixtures = array('app.nota_produto', 'app.produto');

    public function setUp() {
        parent::setUp();
        // Setup our component and fake test controller
        $Collection = new ComponentCollection();
        $this->VotacaoComponent = new VotacaoComponent($Collection);
        $CakeRequest = new CakeRequest();
        $CakeResponse = new CakeResponse();
        $this->Controller = new TestVotacaoController($CakeRequest, $CakeResponse);
        $this->VotacaoComponent->startup($this->Controller);
        $this->VotacaoComponent->tipoVotacao("Produto");
    }
    
	public function testVotacaoErro() {
		$this->setExpectedException('MethodNotAllowedException');
		$this->VotacaoComponent->usuario("example@example.com");
		$this->VotacaoComponent->candidatoAVoto("1");
		$this->VotacaoComponent->voto("Nota_Produto");
	}
	
	public function testVotacao() {
		$this->VotacaoComponent->usuario("example@example.com.br");
		$this->VotacaoComponent->candidatoAVoto("1");
		$this->VotacaoComponent->voto("Nota_Produto");
	}

    public function tearDown() {
        parent::tearDown();
        // Clean up after we're done
        unset($this->EmailComponent);
        unset($this->Controller);
    }
}

?>